package com.example.myFirstWebmagic.dailyAirReport.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.example.myFirstWebmagic.aspect.LogTag;
import com.example.myFirstWebmagic.dailyAirReport.service.WebmagicService;


@RestController
public class WebmagicController {
	
	@Autowired
	private WebmagicService webmagicService;
	
    @RequestMapping("/")
    public String home() {
        return "Hello World!";
    }
    
    /**
     * 
     * @Description: 采集指定日期后面30天的空气质量日报
     * @param @param starttime
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月5日
     */
    @LogTag
    @RequestMapping("/crawlAirDailyReport/{starttime}")
    public String crawlAirDailyReport(@PathVariable String starttime) {  
    	webmagicService.airDailyReportStart(starttime);
        return "爬取结束";  
    } 
    
    /**
     * 
     * @Description: 采集指定日期的空气质量小时报
     * @param @param starttime
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月5日
     */
    @LogTag
    @RequestMapping("/crawlAirHourReport/{starttime}")
    public String crawlAirHourReport(@PathVariable String starttime) {  
    	webmagicService.airHourReportStart(starttime);
        return "爬取结束";  
    } 
    
    /**
     * 
     * @Description: 采集水质信息
     * @param @param starttime
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月5日
     */
    @LogTag
    @RequestMapping("/crawlWaterReport/")
    public String crawlWaterReport() {  
    	webmagicService.waterReportStart();
        return "爬取结束";  
    } 
    
    /**
     * 
     * @Description: 爬取全国重点城市空气质量预报
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月13日
     */
    @LogTag
    @RequestMapping("/crawAqiForecast/")
    public String crawAqiForecast(){
    	webmagicService.aqiForecastStart();
    	return "爬取结束";  
    }
    
    /**
     * 
     * @Description: 爬取全国及区域空气质量形势预报
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月13日
     */
    @LogTag
    @RequestMapping("/crawAreaAqiForecast/")
    public String crawAreaAqiForecast(){
    	webmagicService.areaAqiForecastStart();
    	return "爬取结束";  
    }
    
    
    /**
     * 
     * @Description: 爬取省份空气质量形势预报
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月13日
     */
    @LogTag
    @RequestMapping("/crawProvinceAqiForecast/")
    public String crawProvinceAqiForecast(){
    	webmagicService.provinceAqiForecastStart();
    	return "爬取结束";  
    }
    
    /**
     * 
     * @Description: 爬取企业监测信息
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月13日
     */
    @LogTag
    @RequestMapping("/crawCompany/")
    public String crawCompany(){
    	webmagicService.companyInfo();
    	return "爬取结束";  
    }
    
    /**
     * 
     * @Description: 爬取企业年度监测报告
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月13日
     */
    @LogTag
    @RequestMapping("/crawCompanyBg/")
    public String crawCompanyBg(){
    	webmagicService.companyBg();
    	return "爬取结束";  
    }
    
    
    //
    /**
     * 
     * @Description: 控制调度开关状态
     * @param @param scheduleName 1.AirDailyReportscheduler 2.HourDailyReportscheduler
     * @param @param switchStatus ON(开)/OFF(关) 
     * @param @return   
     * @return String  
     * @throws
     * @author xiongyao
     * @date 2017年3月5日
     */
    @LogTag
    @RequestMapping("/startSchedule/{scheduleName}/{switchStatus}")
    public String switchSchedule(@PathVariable String scheduleName,@PathVariable String switchStatus){
    	//更新空气质量日报采集开关为开
    	webmagicService.modifySchedule(scheduleName, switchStatus);
    	return "开关状态:"+switchStatus;
    }

    
}